//
//  Edge.h
//  ConstructGccfg2.0
//
//  Created by Bryce Holton on 12/4/12.
//  Copyright (c) 2012 Bryce Holton. All rights reserved.
//

#ifndef __ConstructGccfg2_0__Edge__
#define __ConstructGccfg2_0__Edge__

#include <iostream>

template <typename T>
class Edge
{
public:
    Edge(T, T, int = 0);
    T GetAncestor()
    {
        return ancestor;
    }
    T GetDecendant()
    {
        return decendant;
    }
    int GetCost()
    {
        return cost;
    }
    
private:
    T ancestor;
    T decendant;
    int cost;
};
template <typename T>
Edge<T>::Edge(T ancestor, T decendant, int cost)
{
    this->ancestor = ancestor;
    this->decendant = decendant;
    this->cost = cost;
}

#endif /* defined(__ConstructGccfg2_0__Edge__) */
